
import "fmt"

//func test (返回值) (参数) {
	// 语句 
//}

// 无参数无返回值函数的定义
func test()  {
	fmt.Println("hello world")
}


// 有参数无返回值函数的定义 
func test2(a , b int) {

}

func test3(a int , b int)  {
	
}

func test4(args ...int)  { 
	for _, v := range args {
		fmt.Println(v)
	}
}


func test5(args ...int)  { 
	for _, v := range args {
		fmt.Println(v)
	}
}

func test6(args ...int){
	test4(args ...)      // 传递方式一 直接将所有参数全部传入 格式如图
	test5(args[1:]...)   // 传递方式二 将参数列表中从1开始（包括1位置）全部传入
}

func test7(key int) (value int)  {
	return 1
}

func test8(key int) (a1 int , a2 int)  {
	return 1 , 2
}

func test9(key int) (a1 int , a2 int)  {
	a1 = 1 
	a2 = 2
	return 
}

func main()  {
	// 函数调用 可以传递0~多个数据
	test4()
	test4(1)
	test4(1 , 2, 3, 4)
}